package com.ecube.protocol.storage;

import com.ecube.protocol.common.ProtocolFunction;
import com.ecube.protocol.enums.StorageFunctionEnum;
import lombok.Data;

/**
 * 储能
 * PCS 关联电池属性
 *
 * @author zhuweijun
 * @version 1.0.0
 * @since 2025/8/4 19:27
 */
@Data
@ProtocolFunction(type = StorageFunctionEnum.class, value = "BAT_INFO")
public class StorageBatInfo {

    /**
     * PCS序号
     */
    private String pcsNo;

    /**
     * 电池编号ID
     */
    private String batID;

    /**
     * 型号
     */
    private String model = "M10-05";

    /**
     * 软件版本
     */
    private String softVersion = "V2.0.0";

    /**
     * 硬件版本号
     */
    private String hwVersion = "V1.2.0";

    /**
     * 类型： 1：铅酸；2：镍氢；3：磷酸铁锂；4：锰酸锂；5：钴酸锂；6：三元；7：锂聚合物；8：钛酸锂；
     */
    private Integer type = 1;

    /**
     * 额定容量
     */
    private Float ratedC = 265.0F;

    /**
     * 额定能量
     */
    private Float ratedE = 150.0F;

    /**
     * 额定电压
     */
    private Float ratedV = 250.0F;

    /**
     * 额定循环次数
     */
    private Integer ratedCycleCount = 1;

    /**
     * 循环次数
     */
    private Integer cycleCount = 100;

    /**
     * 充电次数
     */
    private Integer chgCount = 2;

    /**
     * 放电次数
     */
    private Integer dischgCount = 5;

    /**
     * PACK数量
     */
    private Integer packCount = 5;

    /**
     * 最小允许放电电压
     */
    private Float minLimitDischgV = 25.0F;

    /**
     * 最大允许充电电压
     */
    private Float maxLimitChgV = 25.0F;

    /**
     * 最高允许温度
     */
    private Integer maxLimitTemp = 42;

    /**
     * // 最低SOC限制
     */
    private Float minLimitSoc = 10.0F;
}
